Python unittest+ddt+openpyxl+configparser
全部标签 我在模板文件中保存了一些复杂的格式,我需要将pandas数据帧中的数据保存到其中。问题是当我使用pd.to_excel保存到此工作表时,pandas会覆盖格式。有没有办法以某种方式将df中的值“粘贴”到工作表中?我正在使用Pandas0.17importopenpyxlimportpandasaspdwb=openpyxl.load_workbook('H:/template.xlsx')sheet=wb.get_sheet_by_name('spam')sheet.title='dfdata'wb.save('H:/df_out.xlsx')xlr=pd.ExcelWriter('d
我编写了打开excel文件并遍历每一行并将值传递给另一个函数的代码。importopenpyxlwb=load_workbook(filename='C:\Users\xxxxx')forwsinwb.worksheets:forrowinws.rows:printrowx1=ucr(row[0].value)row[1].value=x1#iamhavingerroratthispoint当我尝试运行该文件时出现以下错误。TypeError:IndexError:tupleindexoutofrange我可以将返回值x1写入row[1]列吗?是否可以写入excel(即使用row[1]
我正在处理数据透视表XLSX文件并编写脚本以将它们解析为每个选项卡的新文件。由于默认情况下openpyxl不支持数据透视表,因此我需要做一些工作来重新插入在复制过程中丢失的数据透视表“样式”。为此,我遍历每一行和每一列,寻找第0列中的值Total。找到后,该行应更改为全部bold=True.相反,我收到不稳定的行为,有时会在第一个None之后将所有单元格加粗。我的print('boldingtotals')消息显示它正在正确评估每一行/单元格。我是不是很愚蠢,把循环上的缩进搞砸了?fromopenpyxlimportWorkbookfromopenpyxlimportload_work
如何将Python2.7ConfigParser的内容打印到logging?我能找到的唯一解决方案是写入一个临时文件并读回该文件。我的另一个想法是从日志实用程序中获取一个伪造的“文件句柄”并将其传递给ConfigParser写入方法,但是我不知道如何获得这样的句柄表单日志记录。 最佳答案 由于这是谷歌搜索的最高结果,我希望找到一种解决方案来将ConfigParser实例的值打印到标准输出,这里有一个单行代码可以帮助所有future的读者:print({section:dict(config[section])forsectionin
ConfigParser要求所有部分、键和值都是字符串;没有惊喜。它具有使用getfloat、getint、getboolean将值转换为数据类型的方法。如果您不知道数据类型,您可以用eval()包装get()以评估字符串,例如:>>>fromConfigParserimportSafeConfigParser>>>cp=SafeConfigParser()>>>cp.add_section('one')>>>cp.set('one','key','42')>>>printcp.get('one','key')'42'>>>printeval(cp.get('one','key'))4
我正在编写修改现有Excel文档的脚本,我需要能够在其他两个列之间插入一列,例如VBA宏命令.EntireColumn.Insert.openpyxl有什么方法可以插入这样的列吗?如果没有,有什么关于写一个的建议吗? 最佳答案 这是一个更快的方法的例子:importopenpyxlwb=openpyxl.load_workbook(filename)sheet=wb.worksheets[0]#thisstatementinsertsacolumnbeforecolumn2sheet.insert_cols(2)wb.save("f
我需要读取10x5324个单元格的xlsx文件这是我想做的事情的要点:fromopenpyxlimportload_workbookfilename='file_path'wb=load_workbook(filename)ws=wb.get_sheet_by_name('LOG')col={'Time':0...}foriinws.columns[col['Time']][1:]:printi.value.hour代码运行时间太长(我正在执行操作,而不是打印),过了一会儿我不耐烦并取消了它。知道如何在优化的阅读器中使用它吗?我需要遍历一系列行,而不是遍历所有行。这是我尝试过的,但这是
使用ConfigParser的has_section()方法我可以检查文件中是否存在某个部分,例如:config.has_section(section_name)检查key是否也存在的命令是什么?因此,可以在使用查询值之前验证部分和键是否存在:value=config.get(section,key)提前致谢! 最佳答案 除了has_section,还有一个has_option方法:config.has_option(section,option)来自Pythondocumentation:has_option*(section,
我有以下内容:config=ConfigParser()config.read('connections.cfg')sections=config.sections()如何关闭使用config.read打开的文件?在我的例子中,当新的部分/数据被添加到config.cfg文件时,我更新了我的wxtree小部件。但是,它只更新一次,我怀疑这是因为config.read使文件保持打开状态。当我们讨论它时,ConfigParser和RawConfigParser之间的主要区别是什么? 最佳答案 ConfigParser.read(file
我需要能够使用ConfigParser读取同一键的多个值。示例配置文件:[test]foo=value1foo=value2xxx=yyy通过ConfigParser的“标准”使用,将有一个键foo,其值为value2。但我需要解析器读取这两个值。跟随entryonduplicatekey我创建了以下示例代码:fromcollectionsimportOrderedDictfromConfigParserimportRawConfigParserclassOrderedMultisetDict(OrderedDict):def__setitem__(self,key,value):tr